// 三相配料主表 API
import request from "@/utils/request";

// 三相配料主表 VO 定义（JavaScript 对象形式）
export const SxBatchVO = {
  // 主键ID
  id: 0,
  // 配料编号
  batchNo: "",
  // 炉号
  recordNo: "",
  // 钢种
  steelGrade: "",
  // 配料总重
  totalbatchWeight: 0,
  // 全新料重
  newmaterialWeight: 0,
  // 棒重
  barWeight: 0,
  // 损耗
  lossWeight: 0,
  // 生产计划号
  planNo: "",
  // 生产计划明细号
  planDetailNo: "",
  // 业务状态
  busStatus: "",
  // 业务备注
  busMemo: "",
};

// 三相配料明细 VO 定义（JavaScript 对象形式）
export const SxBatchDetailVO = {
  // 主键ID
  id: 0,
  // 配料编号
  batchNo: "",
  // 炉号
  recordNo: "",
  // 钢种
  steelGrade: "",
  // 物料编码
  materialCode: "",
  // 物料名称
  materialName: "",
  // 物料重量
  materialWeight: 0,
  // 比例
  proportion: 0,
  // 物料仓库
  materialWarehouse: "",
  // 业务状态
  busStatus: "",
  // 业务备注
  busMemo: "",
};

// 生产计划明细 VO 定义（JavaScript 对象形式）
export const PlanLzDetailVO = {
  // 主键ID
  id: 0,
  // 生产计划明细号
  planDetailNo: "",
  // 钢种名称
  steelGradeName: "",
  // 辅助数量
  transCount: 0,
  // 生产计划号
  planNo: "",
  // 业务状态
  busStatus: "",
  // 客户名称
  custName: "",
  // 物料编码
  materialCode: "",
  // 物料名称
  materialName: "",
  // 规格
  prodSpec: "",
};

// 三相配料主表 API
export const SxBatchApi = {
  // 查询三相配料主表分页
  getSxBatchPage: function (params) {
    return request({
      method: "get",
      url: "/pp/sx-batch/page",
      params: params,
    });
  },

  // 查询三相配料主表详情
  getSxBatch: function (id) {
    return request({
      method: "get",
      url: "/pp/sx-batch/get?id=" + id,
    });
  },

  // 新增三相配料主表
  createSxBatch: function (data) {
    return request({
      method: "post",
      url: "/pp/sx-batch/create",
      data: data,
    });
  },

  // 修改三相配料主表
  updateSxBatch: function (data) {
    return request({
      method: "put",
      url: "/pp/sx-batch/update",
      data: data,
    });
  },

  // 删除三相配料主表
  deleteSxBatch: function (id) {
    return request({
      method: "delete",
      url: "/pp/sx-batch/delete?id=" + id,
    });
  },

  // 导出三相配料主表 Excel
  exportSxBatch: function (params) {
    return request({
      method: "get",
      url: "/pp/sx-batch/export-excel",
      params: params,
    });
  },

  // ==================== 子表（三相配料子） ====================

  // 获得三相配料子分页
  getSxBatchDetailPage: function (params) {
    return request({
      method: "get",
      url: "/pp/sx-batch/sx-batch-detail/page-by-req",
      params: params,
    });
  },

  // 新增三相配料子
  createSxBatchDetail: function (data) {
    return request({
      method: "post",
      url: "/pp/sx-batch/sx-batch-detail/create",
      data: data,
    });
  },

  // 修改三相配料子
  updateSxBatchDetail: function (data) {
    return request({
      method: "put",
      url: "/pp/sx-batch/sx-batch-detail/update",
      data: data,
    });
  },

  // 删除三相配料子
  deleteSxBatchDetail: function (id) {
    return request({
      method: "delete",
      url: "/pp/sx-batch/sx-batch-detail/delete?id=" + id,
    });
  },

  // 获得三相配料子
  getSxBatchDetail: function (id) {
    return request({
      method: "get",
      url: "/pp/sx-batch/sx-batch-detail/get?id=" + id,
    });
  },

  // 根据生产计划号和生产计划明细号查询生产计划明细
  getPlanLzDetailListByPlanNo: function (planNo, planDetailNo, createTime) {
    return request({
      method: "get",
      url:
        "/pp/sx-batch/plan-lz-detail/list?planNo=" +
        (planNo || "") +
        "&planDetailNo=" +
        (planDetailNo || "") +
        "&createTime=" +
        (createTime || ""),
    });
  },

  // 根据生产计划明细号查询炉次信息
  getSxBatchListByPlanDetailNo: function (planDetailNo) {
    return request({
      method: "get",
      url:
        "/pp/sx-batch/sx-batch/list-by-plan-detail-no?planDetailNo=" +
        planDetailNo,
    });
  },

  // 根据炉号查询炉次信息
  getSxBatchListByRecordNo: function (recordNo) {
    return request({
      method: "get",
      url: "/pp/sx-batch/sx-batch/list-by-record-no?recordNo=" + recordNo,
    });
  },

  // 根据炉号查询配料明细
  getSxBatchDetailListByRecordNo: function (recordNo) {
    return request({
      method: "get",
      url:
        "/pp/sx-batch/sx-batch-detail/list-by-record-no?recordNo=" + recordNo,
    });
  },

  // 批量保存配料计划
  batchSaveSxBatch: function (data) {
    return request({
      method: "post",
      url: "/pp/sx-batch/batch-save",
      data: data,
    });
  },

  // 新增炉号配料计划
  addHeatNoBatchPlan: function (planDetailNo) {
    return request({
      method: "post",
      url: "/pp/sx-batch/add-heat-no-batch-plan?planDetailNo=" + planDetailNo,
    });
  },

  // 新增单个炉号配料明细
  addSingleHeatNoBatchPlan: function (data) {
    return request({
      method: "post",
      url: "/pp/sx-batch/add-single-heat-no-batch-plan",
      data: data,
    });
  },

  // 复制上炉配料单
  addSingleHeatNoBatchPlanByCopy: function (data) {
    return request({
      method: "post",
      url: "/pp/sx-batch/add-single-heat-no-batch-plan-by-copy",
      data: data,
    });
  },

  // 删除炉次
  deleteSingleHeatNoBatchPlan: function (data) {
    return request({
      method: "post",
      url: "/pp/sx-batch/delete-single-heat-no-batch-plan",
      data: data,
    });
  },
};

export default SxBatchApi;
